home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Info-Mac 4
/
Info_Mac IV CD-ROM (Pacific HiTech Inc.)(August 1994).iso
/
Development
/
General
/
DR1.#1 PowerPlant ƒ
/
LView.h
< prev
next >
Wrap
Text File
|
1994-02-10
|
4KB
|
143 lines
// ===========================================================================
// LView.h ©1993 Metrowerks Inc. All rights reserved.
// ===========================================================================
#pragma once
#include "LPane.h"
#include "LList.h"
typedef struct SViewInfo {
SDimension32 imageSize;
SPoint32 scrollPos;
SPoint32 scrollUnit;
Int32 reconcileOverhang;
} SViewInfo;
class LView : public LPane {
public:
LView();
LView(const LView &inOriginal);
LView(LStream *inStream);
virtual ~LView();
virtual void FinishCreate();
void GetImageSize(SDimension32 &outSize);
void GetImageLocation(SPoint32 &outLocation);
void GetScrollPosition(SPoint32 &outScrollPosition);
void GetRevealedRect(Rect &outRect);
void CalcRevealedRect();
void CalcPortOrigin();
virtual void ResizeFrameBy(Int16 inWidthDelta, Int16 inHeightDelta,
Boolean inRefresh);
virtual void MoveBy(Int32 inHorizDelta, Int32 inVertDelta,
Boolean inRefresh);
virtual void SavePlace(LStream *outPlace);
virtual void RestorePlace(LStream *inPlace);
virtual void AdaptToNewSurroundings();
virtual void AdaptToSuperFrameSize(Int32 inSurrWidthDelta,
Int32 inSurrHeightDelta,
Boolean inRefresh);
virtual void Show();
virtual void Hide();
virtual void Activate();
virtual void Deactivate();
virtual void Enable();
virtual void Disable();
virtual void EstablishPort();
static void OutOfFocus(LView *inView);
virtual Boolean FocusDraw();
virtual void Draw(RgnHandle inSuperDrawRgnH);
virtual RgnHandle GetLocalUpdateRgn();
void SetReconcileOverhang(Boolean inSetting);
virtual void CountPanels(Uint32 &outHorizPanels,
Uint32 &outVertPanels);
virtual void PrintPanel(const PanelSpec &inPanel,
RgnHandle inSuperPrintRgnH);
virtual void SuperPrintPanel(const PanelSpec &inSuperPanel,
RgnHandle inSuperPrintRgnH);
virtual Boolean ScrollToPanel(const PanelSpec &inPanel);
void ScrollImageTo(Int32 inLeftLocation, Int32 inTopLocation,
Boolean inRefresh);
virtual void ScrollImageBy(Int32 inLeftDelta, Int32 inTopDelta,
Boolean inRefresh);
virtual void ScrollBits(Int32 inLeftDelta, Int32 inTopDelta);
virtual Boolean AutoScrollImage(Point inLocalPt);
void ResizeImageTo(Int32 inWidth, Int32 inHeight,
Boolean inRefresh);
virtual void ResizeImageBy(Int32 inWidthDelta, Int32 inHeightDelta,
Boolean inRefresh);
void SetScrollUnit(const SPoint32 &inScrollUnit);
void GetScrollUnit(SPoint32 &outScrollUnit) const;
virtual void SubImageChanged(LView *inSubView);
virtual LPane* FindSubPaneHitBy(Int32 inHoriz, Int32 inVert);
virtual void Click(SMouseDownEvent &inMouseDown);
virtual void AdjustCursor(Point inPortPt,
const EventRecord &inMacEvent);
virtual LPane* FindPaneByID(PaneIDT inPaneID);
virtual Int32 GetValueForPaneID(PaneIDT inPaneID) const;
virtual void SetValueForPaneID(PaneIDT inPaneID, Int32 inValue);
virtual StringPtr GetDescriptorForPaneID(PaneIDT inPaneID,
Str255 outDescriptor) const;
virtual void SetDescriptorForPaneID(PaneIDT inPaneID,
ConstStr255Param inDescriptor);
virtual void PortToLocalPoint(Point &ioPoint) const;
virtual void LocalToPortPoint(Point &ioPoint) const;
void ImageToLocalPoint(const SPoint32 &inImagePt,
Point &outLocalPt);
void LocalToImagePoint(const Point &inLocalPt,
SPoint32 &outImagePt);
void AddSubPane(LPane *inSub);
void RemoveSubPane(LPane *inSub);
void DeleteAllSubPanes();
virtual void OrientSubPane(LPane *inSub);
LList& GetSubPanes();
virtual void SuperShow();
virtual void SuperHide();
virtual void SuperActivate();
virtual void SuperDeactivate();
virtual void SuperEnable();
virtual void SuperDisable();
protected:
RgnHandle GetUpdateRgn();
virtual void ReconcileFrameAndImage(Boolean inRefresh);
private:
static LView *sInFocusView;
SDimension32 mImageSize;
SPoint32 mImageLocation;
SPoint32 mScrollUnit;
Point mPortOrigin;
LList mSubPanes;
Rect mRevealedRect;
RgnHandle mUpdateRgnH;
Boolean mReconcileOverhang;
void InitView();
};